package gdr.battle.core.condizioni;

import gdr.battle.core.*;
import gdr.player.*;

import java.util.ArrayList;

/**
 * Verifica se, nello scontro indicato, il team ha vinto.
 * @author Giorgio Vitale
 *
 */
public class CondizioneVincitaDeathMatch implements CondizioneVincita {
	
	protected BattleContainer container;
	protected Team team;
	
	public CondizioneVincitaDeathMatch(BattleContainer bc, Team team){
		container = bc;
		this.team = team;
	}
	public CondizioneVincitaDeathMatch(){
		this(null, null);
	}
	
	/**
	 * Verifica se il client ha vinto. Il client vince solo se tutti i suoi nemici
	 * hanno la condizione di sconfitta attivata.
	 * @return
	 */
	public boolean check(){
		ArrayList<Team> enemy = team.getEnemy();
		for (int i=0; i<enemy.size(); i++)
			if (!enemy.get(i).getCondizionePerdita().check()) return false;
		return true;
	}
	public String getDescription(){
		return "Sconfiggi tutti i nemici";
	}

	public BattleContainer getContainer() {
		return container;
	}

	public void setContainer(BattleContainer container) {
		this.container = container;
	}

	public Team getTeam() {
		return team;
	}

	public void setTeam(Team team) {
		this.team = team;
	}
}
